أيتاوي
أشهر أسئلة Ruby on Rails للمبرمجين
لو كنت مبرمج مواقع وبتستخدم لغة الRuby on Rails فأكيد المقال دا هيهمك لو رايح انترفيو ..
**** فى البداية لازم تعرف يعنى ايه Ruby on Rails ؟
Ruby : دى لغة برمجة object oriented “برمجة كائنات” مأخوذة من لغة ال python وperl
Rails: ودى framework تستخدم لبناء تطبيقات الويب
دلوقتى نبدأ نعرض بعض من أشهر الاسئلة فى الانترفيو :
- اشرح الclass libraries فى لغة ال Ruby ؟
تتكون من مجموعة من ال domains زى أنواع البيانات . - اذكر طريقة التسمية فى ال Rails ؟
*متغيرات “variables” : لاعلان المتغيرات تكون كل الحروف Lowercase والحروف مفصولة ب _ “underscore”
*ال class, module : تستخدم فيها الحروف lower , uppercase ولايوجد بين الحروف underscore فقط كل كلمة تبدأ بحرف uppercase .
*جدول البيانات “database table” : تكون الحروف lowercase وبين الكلمات underscore ويجب أن يكون الاسم معبر عن المطلوب
*model : تستخدم فيها حروف upper, lower بدون فواصل فى الكلمة الواحدة ومرتبطة بإسم الجدول
*controller : تكتب بشكل plural مثل OrdersController تكون المتحكمة فى جدول اسمه order
- اشرح ماهو ال (ORM ( Object-Relationship-Model ؟
يشير الى أن ال classes معبرة عن الجدول وأن الobjects معبرة عن الصفوف
- مالفرق بين false و nil فى ال Ruby ؟
False تعطى قيمة boolean انما nil ليس نوع من أنواع البيانات وله object_id يساوى 4
- ايه مميزات ال Rails ؟
*meta programming : وعلى الرغم من انها بتستخدم code generation الا انها تعتبر أفضل اللغات فى ال metaprogramming – المصطلح دا يشير لطرق كتير يقدر البرنامج بيها يتعرف ويعمل control , handle على نفسه .
*active record : بتحفظ ال object لقاعدة البيانات عن طريق active record framework بحيث انها بتقوم بتعريف العمود واتوماتيكياً بربطه بالdomain عن طريق الmeta programming ز
*scaffolding : عندها القدرة على عمل كود مؤقت اتوماتيكياً
*Convention over configuration : على عكس معم اللغات الاخرى فهى لاتحتاج لعمل configuration كتير او اتبعت طرق التسمية الصحيحة
*Three environments : اللغة جاهزة ب 3 بيئات عمل واختبار وتطوير جاهزة
- اشرح الفرق بين الstring , symbol ؟
الاتنين نفس الفكرة ولكن مع اختلاف طريقة عملهم وخاصة فى ال object_id والميمورى عند عملهم معاً .
Symbol يعتبر immutable بمعنى انه لايمكن تغييره مع الوقت بعكس ال string
- اشرح اختلاف ال symbols عن الvariables ؟
*ال symbol أقرب للstring من الvariable
*فى لغة ال ruby ال symbol يعتبر immutable لكن الstring يعتبر mutable
*يتطلب عمل نسخة واحدة فقط من الsymbol - كيف تستخدم rails ال Ajax ؟
صفحة الويب لمدعمة ب Ajax يتم استرجاعها من السيرفر بعد تحديثها تلقائياً على العكس الصفحات العادية تحتاج لعمل refresh ليتم التحديث
- كيف يتم عمل controller لل subject ؟
عن طريق الامر التالى C:rubylibrary> ruby script/generate controller subject
- ماهو الامر المستخدم لعمل Migration ؟
C:rubyapplication>ruby script/generate migration table_name
- متى يستخدم ال self up , self down ؟
عندما يتم التنقل “migration ” الى نسخة جديدة يستخدم ال self up بينما عند الرجوع عن الخطوات السابقة يستخدم self down
- ماهو دور ال controller ؟
يعتبر ال logical center الخاص بالأبلكيشن حيث يسهل التفاعل بين الالمستخدم والmodel والviews
كما أنه يقوم بعمل Handling لل URL بطريقة جيدة جدا - كيف يتم تعريف ال instance , global ,class variables ؟
*ruby instance : يبدأ ب – @
*ruby global variable : يبدأ ب – @@
*class variable : يبدأ ب-$
- كيف يمكنك القيام بعمل run rails بدون انشاء قاعدة بيانات ؟
فى invronment.rb اكتب الامر التالى path=> rootpath conf/environment.rb
config.frameworks = [ action_web_service, :action_mailer, :active_record]